package com.appleframework.module.usermgr.dao;

import java.util.List;

import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.stereotype.Repository;

import com.appleframework.core.BaseDao;
import com.appleframework.module.usermgr.vo.Myitem;

@Repository("myitemMgrDao")
public class MyitemMgrDao  extends BaseDao {
	
	/**
	 * 添加  
	 * @param b 要保存的记录
	 * 
	 */
	public void add(Myitem m){
		String sql="insert into t_myitem (itemdetail_id,flag,is_delete,createtime,diningtable_id) "+
		"values ("+m.getItemdetail_id()+",0,0,now(),"+m.getDiningtable_id()+")";
	    System.out.println(sql);
		getJdbcTemplate().update(sql);
		
	}
	
	
	/**
	 * 根据id'删除记录  ---标记flag为1
	 * @param id要删除记录的id
	 * 
	 */
	public void delete(Integer id){
		String sql="update t_myitem set is_delete=1 where id="+id;
		System.out.println(sql);
		getJdbcTemplate().update(sql);
		
	};
	
	
	
	/**
	 * 修改信息  --修改菜单-上菜
	 * @param b 要修改的记录
	 * 
	 */
	public void update(Myitem m){
		String sql="update t_myitem set flag="+m.getFlag()
        +",updatetime=now() where id="+m.getId();
		System.out.println(sql);
		getJdbcTemplate().update(sql);
		
	};
	
	
	

	/**
	 * 根据Id查询一条 记录
	 * @param id查询出来的一条记录
	 * 
	 */
	public Myitem findById(Integer id){
		String sql="select * from t_myitem where id="+id;
		System.out.println(sql);
		return	 getJdbcTemplate().query(sql, BeanPropertyRowMapper.newInstance(Myitem.class)).get(0);
		
	};
	
	
	/**
	 * 分页显示信息  --根据parentid/所有，进行分页显示未删除的
	 * @param start 记录开始
	 * @param pageSize每一页显示的条数
	 * @param diningtable_id根据餐桌号查询菜单
	 * @return
	 */
	public List<Myitem> getPage(Integer start,Integer pageSize,Integer diningtable_id){
		
		//String sql="select * from t_item ";
		StringBuffer sb = new StringBuffer();
		sb.append("select * from t_myitem where is_delete=0 ");
		
			if (null != diningtable_id) {
				sb.append(" and diningtable_id=");
				sb.append(diningtable_id);
			}
		
		sb.append(" limit ");
		sb.append(start);
		sb.append(",");
		sb.append(pageSize);
		
		System.out.println(sb.toString());
		return getJdbcTemplate().query(sb.toString(),BeanPropertyRowMapper.newInstance(Myitem.class) );
		
		
	};
	
	

	/**
	 * 显示所有记录 ----未删除的
	 * 
	 * @return 所有记录
	 */
	public List<Myitem> findAll(){
		String sql="select * from t_myitem where is_delete=0";
		return getJdbcTemplate().query(sql, BeanPropertyRowMapper.newInstance(Myitem.class));
	};
	
	
	
	/**
	 * 查询一共多少条记录  
	 *@param diningtable_id根据餐桌号查询菜单总记录
	 * @return
	 */
	public int findRecordCount(Integer diningtable_id){
		StringBuffer sb = new StringBuffer();
		sb.append("select count(*) from t_myitem where is_delete=0 ");

		if (null != diningtable_id) {
			sb.append(" and diningtable_id=");
			sb.append(diningtable_id);
		}
		
		
		return getJdbcTemplate().queryForInt(sb.toString());
	};
	
	
	
	
	
	
	
	
	
	
	
	

}
